///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package utilfile;
//
//import DBMS.DataBaseManager;
//import org.apache.struts.upload.FormFile;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import org.apache.struts.action.ActionForm;
//import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionMapping;
////Para tener la clase File
//import java.io.*;
//import java.util.Date;
//import java.util.GregorianCalendar;
//import org.apache.struts.actions.DispatchAction;
//
///**
// *
// * @author sundance
// */
//public class AgregarMatriz extends DispatchAction {
//
//    /*
//     * forward name="success" path=""
//     */
//    private static final String SUCCESS = "success";
//    private static final String FAILURE = "failure";
//    private static final String PAGE = "page";
//
//    /**
//     * This is the action called from the Struts framework.
//     *
//     * @param mapping The ActionMapping used to select this instance.
//     * @param form The optional ActionForm bean for this request.
//     * @param request The HTTP Request we are processing.
//     * @param response The HTTP Response we are processing.
//     * @throws java.lang.Exception
//     * @return
//     */
//    public ActionForward saveFile(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//
//        System.out.println("Comenzando a subir matriz:");
//        MatrizFile matriz = (MatrizFile) form;
//        /*
//         * Se procesa el form file 
//         */
//        FormFile archivoPorSubir = matriz.getArchivo();
//        /*
//         * Nombre del archivo, tipo, tamano en caso que sea necesario
//         */
//        String tipodeContenido = archivoPorSubir.getContentType();
//        String nombreArchivo = archivoPorSubir.getFileName();
//        int tamanoArchivo = archivoPorSubir.getFileSize();
//        /*
//         * Datos archivo
//         */
//        byte[] datosArchivo = archivoPorSubir.getFileData();
//        /*
//         * Se obtiene el directorio de subida del servidor 
//         */
//        String pathArchivo = getServlet().getServletContext().getRealPath("/");
//        matriz.setPathAbsoluto(pathArchivo);
//
//        Date fechaCreacion = new GregorianCalendar().getTime();
//        matriz.setFechaCreacion(fechaCreacion.toString());
//
//        /* 
//         * Se guarda el archivo en el servidor
//         */
//        if (!nombreArchivo.equals("")) {
//            System.out.println("Path del Server: " + pathArchivo);
//            /*
//             * Se crea el archivo en el servidor
//             */
//            File archivoPorCrear = new File(pathArchivo, nombreArchivo);
//            /*
//             * Si no existe lo creamos
//             */
//            if (!archivoPorCrear.exists()) {
//                FileOutputStream streamSalidaArchivo = new FileOutputStream(archivoPorCrear);
//                streamSalidaArchivo.write(archivoPorSubir.getFileData());
//                streamSalidaArchivo.flush();
//                streamSalidaArchivo.close();
//            }
//        }
//        /*
//         *  Le ponemos el nombre del archivo al objeto request
//         */
//
//        System.out.println("Matriz para agregar : " + matriz.getFechaCreacion()
//                + matriz.getPathAbsoluto() + matriz.getUnidad());
//        boolean registroAgregado = DataBaseManager.getInstance().agregarMatrizFile(matriz);
//        if (registroAgregado) {
//            System.out.println("MATRIZ AGREGADA");
//            matriz.setMensaje("Matriz Agregada Satisfactoriamente");
//            request.setAttribute("matrizFile", matriz);
//            return mapping.findForward(SUCCESS);
//        } else {
//            matriz.setMensaje("Matriz  No Agregada");
//            System.out.println("MATRIZ NO AGREGADA");
//            return mapping.findForward(FAILURE);
//        }
//    }
//
//    public ActionForward populate(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        return mapping.findForward(PAGE);
//    }
//}
